package com.task.controller.control;

import com.task.controller.executor.Executor;
import ohos.app.Context;

/**
 * 任务调度器
 */
public interface Control {

    /**
     * 初始化扫描非UI任务
     *
     * @param context 上下文对象
     */
    void initControl(Context context);

    /**
     * 承接外部任务
     *
     * @param resource     被调用的方法的资源名称
     * @param param        被调用的方法的原始参数
     * @param executeEvent 方法返回值处理对象
     */
    void execute(String resource, Object param, Executor.ExecuteEvent executeEvent);

    /**
     * 释放任务调度器
     */
    void release();
}
